<?php
/**
 * Действия для модуля "user"
 *
 * @package    Forum Lite
 * @subpackage user
 * @author     Your name here
 * @version    SVN: $Id: actions.class.php 23810 2009-11-12 11:07:44Z Kris.Wallsmith $
 */
class userActions extends sfActions
{
	/**
	 * Показывает форму авторизации
	 * 
	 * @param sfWebRequest $request
	 */
	public function executeLogin(sfWebRequest $request)
	{
		$this->form = new loginForm();
	}
	/**
	 * Убивает авторизацию пользователя
	 * 
	 * @param sfWebRequest $request
	 */
	public function executeLogout(sfWebRequest $request)
	{
		$this->getUser()->storeAutorization(null);
		$this->redirect('@homepage?module=post&action=index');
	}
	/**
	 * Обрабатывает пост-запрос формы авторизации и авторизует пользователя
	 * 
	 * @param sfWebRequest $request
	 */
	public function executeDologin(sfWebRequest $request)
	{
		$this->forward404Unless($request->isMethod(sfRequest::POST));
		
		if($this->getUser()->isAuthenticated())
			$this->redirect('@homepage?module=post&action=index');
		
		$this->form = new loginForm();
		$fields = $request->getParameter($this->form->getName());
		$this->form->bind($fields);
		
		if($this->form->isValid())
		{
			$this->getUser()->storeAutorization($this->form->getObject());
			$this->redirect('@homepage?module=post&action=index');
		}
		$this->setTemplate('login');
	}
}